Jupyter Notebook é uma ferramenta excelente para:

  • Exploração interativa de dados;
  • Análise de dados (i.e. Analytics);
  • Aprender Python, R, Julia e dezenas de outras linguagens suportadas

O nome Jupyter é mistura de Julia, Python e R, as três primeiras linguagens suportadas depois que o projeto iPython Notebook se tornou agnóstico em relação a linguagens.

O Jupyter é um aplicativo que permite ver e editar documentos interativos chamados notebooks, assim como o Excel é um aplicativo para ver editar documentos interativos chamados planilhas.

Um notebook é composto de células com texto, código e imagens. Você está lendo agora uma célula de texto. A seguir temos uma célula de código:


In [1]:
def fatorial(n):
    return 1 if n < 2 else n * fatorial(n-1)

fatorial(42)


Out[1]:
1405006117752879898543142606244511569936384000000000

Como você viu, uma célula de código pode ter várias linhas de código em Python (ou de outra linguagem suportada), incluindo definições de funções e classes. Muitas vezes uma célula tem apenas uma linha, apenas para fazer um cálculo:


In [2]:
2**100


Out[2]:
1267650600228229401496703205376

O notebook é dinâmico porque todas as células são editáveis. Experimente clicar na célula acima e alterar o expoente de 100 para 1000. Depois de editar, tecle [SHIFT]+[RETURN] para executar o código.

Atenção: se você está vendo este notebook online é provável que você não tenha permissão para editá-lo. Para editar você precisa instalar o Jupyter Notebook em seu computador e executar este documento localmente.

Além de ser um aplicativo, Jupyter é uma plataforma que inclui bibliotecas muito poderosas. Por exemplo, com uma chamada de função é possível embutir uma página Web em um notebook:


In [3]:
from IPython.display import IFrame
IFrame('http://jupyter.org/', width='100%', height=400)


Out[3]:

Também é fácil gerar gráficos, usando o comando mágico %matplotlib inline e funções da biblioteca matplotlib:


In [7]:
%matplotlib inline
# use o comando acima só uma vez, para configurar a exibição dos gráficos
import matplotlib.pyplot as plt
plt.plot([1, 2, 4, 8, 16])
plt.ylabel('litros de sorvete')
plt.show()


Quem usa o Jupyter Notebook

O Jupyter Notebook e seu antecessor, iPython Notebook já são largamente utilizados em:

  • Análise de dados de experimentos científicos (Scientific Computing)
  • Análise quantitativa de dados financeiros (Quantitative Analysis)

Na área de finanças quantitativas a primeira conferências especializadas no uso de Jupyter/iPython notebook aconteceu em 2014 em New York, e teve novas edições lá em em Londres:

Para aprender mais

Sites principais:

  • Jupyter Notebook
  • iPython, que fornece os kernels para usar Python 2 ou Python 3 no Jupyter
  • pandas
  • matplotlib
  • NumPy e SciPy

In [5]:
IFrame('http://forpythonquants.com/', width='100%', height=400)


Out[5]:

In [ ]: